package org.jiuling.wechat.officialaccount.handle;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import org.jiuling.basics.converter.StringConvert;
import org.jiuling.basics.validation.IntegerVerify;
import org.jiuling.wechat.officialaccount.exception.WeChatOfficialAccountException;
import org.jiuling.wechat.officialaccount.exception.enums.ErrorCodeEnum;

/**
 * 响应处理
 * @author 紫灵
 * @date 2024年11月25日 00时28分17秒
 */
public class ResponseHandle {

    public  static void handle(String body) throws WeChatOfficialAccountException {
        JSONObject responseJson = JSON.parseObject(body);
        // 判断是否存在异常信息
        if (responseJson.containsKey("errcode")){
            Integer errcode = responseJson.getInteger("errcode");
            if (!IntegerVerify.isBlank(errcode)){
                throw new WeChatOfficialAccountException(
                        StringConvert.format(
                                "错误代码：{}，错误信息：{}，错误说明：{}","{}",
                                errcode,
                                responseJson.getString("errmsg"),
                                ErrorCodeEnum.getDescribeByCode(errcode)
                        )
                );
            }
        }
    }

}
